"""
super真的是调用父类吗？ 不一定（mro顺序查找，C3算法）
"""

from threading import Thread


class A:
    def __init__(self):
        print("A")


class B(A):
    def __init__(self):
        print("B")
        # python2的用法
        # super(B, self).__init__()

        # python3的用法
        super().__init__()


class C(A):
    def __init__(self):
        print("C")
        super().__init__()


class D(B, C):
    def __init__(self):
        print("D")
        super().__init__()


class MyThread(Thread):
    def __init__(self, name, user):
        """
        super函数的应用场景
        """
        self.user = user
        super().__init__(name=name)


if __name__ == '__main__':
    b = B()
    # 输出结果：
    """
    B
    A
    """

    d = D()
    print(D.__mro__)
    # super不一定调用父类（mro顺序查找，C3算法）
    # 输出结果：
    """
    D
    B
    C
    A
    (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)
    """
